在该系列的前两篇文章中,我们介绍了威胁狩猎的基础知识以及威胁猎手应具备的核心能力。这篇文章将向您展示我们在寻找威胁时遵循的结构化过程。任何威胁猎手都明白,没有结构的任务会变得很混乱。威胁狩猎流程不必很复杂。制定流程的目的是指导我们完成从建立初始假设到分析数据再到最终发现的每一步。
在深入了解实际过程之前,我们想介绍威胁猎人可以应用于威胁狩猎过程的两种不同的心智模型。基于初始假设,我们使用这两个模型来区分不同类型的威胁狩猎。
基于攻击的狩猎适用于寻找某种攻击技术。在大多数情况下,我们发现正在寻找已知并记录在案的攻击。基于攻击的搜索速度更快,特别是如果攻击指标 (IOA) 可以通过第三方研究轻松获得。如果我们正在寻找的攻击没有得到很好的研究,我们将不得不花更多的时间在实验室环境中模拟该技术。通过这样做,我们对攻击技术有了更好的理解,并看到了在Windows/Linux/Mac环境中成功执行后生成的工件。以下是基于攻击的威胁狩猎的两个示例。第一个是基于攻击的威胁狩猎的一个很好的例子。它具有主动寻找特定技术的方法,而不是基于IOC。第二个是一个不好的例子,它基于我们迄今为止对威胁狩猎和基于攻击的威胁狩猎模型的了解。寻找特定的IOC是一项被动任务。寻找源自Microsoft Word文档的可疑进程执行活动。
1、寻找与最近<在此处插入最喜欢的恶意软件>活动相关的域/IP。2、在我们环境中的所有主机上“寻找”(不是真的)在其中一台主机上检测到恶意Word文档。
与基于攻击的威胁狩猎不同,这种心智模型更先进,因为它不遵循预定的路径。在基于数据的狩猎过程中,威胁猎人不是在寻找攻击技术的具体证据,而是在感兴趣的数据集中寻找异常活动。使用基于数据的威胁狩猎时,威胁猎人应该熟悉各种攻击技术以及它们如何在可用数据源中表现。收集到数据后,威胁猎手可以使用某些数据分析技术,具体取决于他们希望如何查看和分析手头的信息。与基于攻击的心智模型一样,我们整理了两个例子来帮助理解基于数据的威胁狩猎。搜索从非系统目录启动的未知二进制文件的可疑进程执行。搜索在内存中下载并执行有效负载的PowerShell的可疑进程执行。这可能是基于攻击的威胁狩猎的一个很好的例子,但该假设过于具体,无法被视为基于数据的威胁狩猎。
威胁狩猎的步骤如下所示。我们将逐一介绍,解释它们是如何工作的,然后给出一些示例。
假设驱动威胁狩猎。这是威胁猎手决定他们将在环境中寻找什么的地方。如前所述,威胁猎手假定这种恶意活动已经在网络中存在。基于该假设,威胁猎手应该研究预期恶意活动的证据。在其他研究人员的现有文章中搜索狩猎所需的IOA。然而,在某些情况下,这些攻击没有得到充分记录,描述它们的报告也没有足够的信息。这使得理解攻击技术和创建威胁狩猎查询变得具有挑战性。在这些情况下,威胁猎手应该能够在实验室环境中模拟攻击,并根据生成的遥测数据建立证据。识别可能包含恶意活动证据的数据源。数据源的一些示例包括:在确定了攻击类型或狩猎操作中攻击的特定IOA后,我们可以将注意力集中在应该查询的特定字段上。无论数据源是否具有与网络或进程执行相关的日志,我们都可以选择有助于我们发现恶意活动的单个字段。我们现在拥有构建查询所需的所有信息。在形成这些查询时,我们可以调整几个核心组件。第一个变量是时间范围。这是我们选择在可用数据中搜索时间跨度。第二个是搜索范围。我们可以使查询有一定的具体化。例如,我们可以具体并专注于攻击工具,或者不那么具体而专注于攻击技术本身。在检测工程中,这被称为“能力抽象”。SpecterOps有很多资源可以解释什么是能力抽象以及如何使用它来创建信息丰富的检测规则。我们可以在威胁狩猎中使用能力抽象来构建基于攻击技术的假设。寻找这种技术可以帮助我们发现其他可能被用来破坏我们网络的工具。例如,特定查询将包括威胁制造者用于加载到内存中的DLL的名称。另一方面,不太具体的查询将关注进程执行方法,而不包括任何命令行细节。一张图片胜过千言万语,下面的示例可以帮助说明特定查询和不具体查询之间的区别。顶部的第一个示例包括具有特定命令行参数的目标查询。第二张图片是一个不具体的查询示例,其中包含使用cmd.exe在主机上运行命令的word文档的执行流。
正如我们在这个例子中看到的,第二个不具体的查询显示了更多与我们正在寻找的攻击技术相关的活动。查询越灵活,我们可能得到的误判结果就越多。相反,查询越有针对性,我们得到的误判结果就越少。尽管有针对性的查询可能会导致我们忽略正在寻找的攻击技术表现不同的实例。在决定查询的最终版本时,这两者之间的平衡是关键。通常从更广泛的查询和较短的时间范围(<1 天)开始。根据返回的结果,要么使查询更具体,要么保持不变并扩大时间范围。应用此方法可以更轻松地分析结果(更少的数据和FP变得明显),并且我们避免了对服务于请求数据的后端数据库的潜在影响。一旦我们从查询中获得结果,就可以开始处理数据以尽可能容易地分析和发现异常。我们可以应用多种分析技术,具体取决于我们正在寻找什么以及我们遵循哪种心智模型。简而言之,我们最喜欢的一些基于数据的狩猎分析技术是频率分析和堆栈计数。
在本节中,我们将使用上面给出的两个威胁狩猎示例,基于两种不同的心智模型,来解释该过程的不同步骤。
查找来自Microsoft Word文档的可疑进程执行活动。
Winword.exe会联系未知的公开服务器以下载二进制文件。通过以下注册表中的“TrustRecords”条目执行宏的证据:
下图是我们希望在网络中观察到可疑行为时看到的结果示例:
图片来源:https://thedfirreport.com/2021/11/01/from-zero-to-domain-admin/
寻找以前未检测到的从临时目录执行的恶意二进制文件。使用聚类分析根据进程名称和进程路径查找异常值。我们希望识别由环境中的少数主机隔离执行的二进制文件。在elasticsearch中,我们需要创建可视化来获取上述数据及其聚合值。出于演示目的,以下查询将以Splunk格式显示。
与基于攻击的狩猎一样,分析数据可能需要一些时间,具体取决于返回的结果。当我们第一次执行新的威胁狩猎时,可能需要一些时间来调查结果,甚至可能会掉进坑里。但是,随着经验的积累,以及对我们所处环境的了解,分析速度也会提高。
在理解并练习了一段时间的威胁狩猎流程后,每个阶段都会变得更容易完成。重要的是要注意,威胁搜寻狩猎不会以分析结束。当威胁猎手在分析数据发现恶意活动时,要做的是必须记录发现并将其传递给相应的团队以开始补救并进一步调查攻击。另一个关键步骤是提出可能的检测并报告任何潜在的遥测差距。这就是我们遵循的威胁狩猎流程。威胁狩猎不一定很复杂,但是,当我发现试图通过这篇文章进行交流时,使用这两种心智模型的结构化方法可以使事情变得更容易。
碳泽信息
新一代智能安全运营平台
电话:400-1788-258
销售咨询:sales@tanze.net.cn
技术支持:support@tanze.net.cn
官网:http://www.tanze.net.cn